package main

import "fmt"

/*
类型别名和自定义类型介绍
*/
func main() {

	/*
		一. 自定义类型
			在Go语言中有一些基本的数据类型，如string、整型、浮点型、布尔等数据类型，Go语言中可以使用type关键字来定义自定义类型
	*/

	//将MyInt定义为int类型。通过Type关键字的定义，MyInt就是一种新的类型，它具有int的特性
	type MyInt int
	var a MyInt
	fmt.Printf("type of a：%T\n", a) //	type of a: main.MyInt

	/*
		二. 类型别名
			TypeAlias只是Type的别名，本质上TypeAlias与Type是同一个类型。就像一个孩子小时候有小名、乳名，上学后用学名，
			英语老师又会给他起英文名，但这些名字都指的是他本人
	*/
	type TypeAlias = uint8
	var b TypeAlias
	fmt.Printf("type of b：%T\n", b) //type of b：uint8
}
